Kotlin 您所在的位置:网站首页 is open和opens的区别 Kotlin

Kotlin

2023-09-09 14:31| 来源: 网络整理| 查看: 265

Kotlin – open, final, abstract

  在Kotlin中,所有的类默认都是final的。如果你需要允许它可以被继承,那么你需要使用open声明:

//这个类具有`open`属性,可以被其他类继承 open class People: Speakable{ //`open`的方法被实现和覆写,该方法也是`open`的 override fun say() {} //`final`属性的方法,不可被覆写 fun sayHello() {} //`open`属性的方法,可以被继承和覆写 open fun sayName() {} }

  当然,你也可以阻止某些方法被覆写:

open class People: Speakable{ //`final`修饰一个原本具有`open`属性的方法,使其变得不可再被覆写 final override fun say() {} }

  在kotlin中,abstract的用法几乎和Java一致,我就不再啰嗦,值得一提的是,当你使用abstract修饰符的时候,可以忽略open修饰符,因为被abstract修饰的类默认具有open属性。

修饰符相应类的成员注解final不能被覆写在kotlin中默认所有的方法和类都是final属性open可以被覆写需要被明确指出abstract必须要覆写不能被实例化,默认具有open属性。override覆写超类的方法如果没有被指定为final,则默认具有open属性

  上述表格仅适用于基类,对于接口类来说,你基本用不上fianl、open、abstract,因为接口类默认是open,且不能被声明为final,如果接口类的方法没有函数体,那么其为abstract,但是不需要你明确指出他是abstract的。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有